using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using Credinka.Ayni.SEA.EN;
using Credinka.Ayni.SEA.AD;

namespace Credinka.Ayni.SEA.RN
{

    public class rnPerfil : rnGeneral
    {
        adPerfil oadPerfil;
        adCargoPerfil oadCargoPerfil;
        adLog oadLog;

        public enPerfil Obtener(enPerfil poenPerfil)
        {
            enPerfil oenPerfil = null;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    oenPerfil = new enPerfil();
                    oadPerfil = new adPerfil(con);
                    oenPerfil = oadPerfil.fObtener(poenPerfil);
                }
                catch (SqlException ex)
                {
                }
            }
            return oenPerfil;
        }

        public List<enPerfil> Listar(enPerfil poenPerfil)
        {
            List<enPerfil> loenPerfil = null;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    loenPerfil = new List<enPerfil>();
                    oadPerfil = new adPerfil(con);
                    loenPerfil = oadPerfil.fListar(poenPerfil);
                }
                catch (SqlException ex)
                {
                }
            }
            return (loenPerfil);
        }

        public List<enPerfil> ListarPerfil()
        {
            List<enPerfil> loenPerfil = null;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    loenPerfil = new List<enPerfil>();
                    oadPerfil = new adPerfil(con);
                    loenPerfil = oadPerfil.fListarPerfil();
                }
                catch (SqlException ex)
                {
                }
            }
            return (loenPerfil);
        }

        public int Registrar(enPerfil poenPerfil)
        {
            int N = -1;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    oadPerfil = new adPerfil(con);
                    N = oadPerfil.fRegistrar(poenPerfil);
                }
                catch (SqlException ex)
                { }
            }
            return (N);
        }

        public int Modificar(enPerfil poenPerfil)
        {
            int N = -1;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    oadPerfil = new adPerfil(con);
                    N = oadPerfil.fModificar(poenPerfil);
                }
                catch (SqlException ex)
                {
                }
            }
            return (N);
        }

        public int Eliminar(enPerfil poenPerfil)
        {
            int N = -1;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    oadPerfil = new adPerfil(con);
                    N = oadPerfil.fEliminar(poenPerfil);
                }
                catch (SqlException ex)
                {
                }
            }
            return (N);
        }

        public int Contar()
        {
            int totalPerfil = -1;
            using (SqlConnection con = new SqlConnection(sConexion))
            {
                try
                {
                    con.Open();
                    oadPerfil = new adPerfil(con);
                    totalPerfil = oadPerfil.fContar();
                }
                catch (SqlException ex)
                {
                }
            }
            return (totalPerfil);
        }
    }
}
